package cn.maihe.elg.operation.supports.bank.dto;

import lombok.Data;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import java.math.BigDecimal;

@Data
@XmlAccessorType(XmlAccessType.FIELD)
public class CiticAccountDetailItem {
    /**
     * 交易日期 char(8) 格式YYYYMMDD
     */
    @XmlElement(name = "tranDate")
    private String tranDate;

    /**
     * 交易时间 char(6) 格式hhmmss
     */
    @XmlElement(name = "tranTime")
    private String tranTime;

    /**
     * 柜员交易号 char(14)
     */
    @XmlElement(name = "tranNo")
    private String tranNo;

    /**
     * 总交易流水号 char(13)
     */
    @XmlElement(name = "sumTranNo")
    private String sumTranNo;

    /**
     * 交易金额 decimal(15,2)
     */
    @XmlElement(name = "tranAmount")
    private BigDecimal tranAmount;

    /**
     * 借贷标识 借：D，贷：C char(1)
     */
    @XmlElement(name = "creditDebitFlag")
    private String creditDebitFlag;

    /**
     * 对方账号 varchar(32)
     */
    @XmlElement(name = "oppAccountNo")
    private String oppAccountNo;

    /**
     * 对方账户名称 varchar(122)
     */
    @XmlElement(name = "oppAccountName")
    private String oppAccountName;

    /**
     * 对方开户行名 varchar(122)
     */
    @XmlElement(name = "oppOpenBankName")
    private String oppOpenBankName;

    /**
     * 附言 varchar(102)
     */
    @XmlElement(name = "abstract")
    private String abstractText;

    /**
     * 现转标识 0：现金；1：转帐 char(1)
     */
    @XmlElement(name = "cashTransferFlag")
    private String cashTransferFlag;

    /**
     * 网银制单员 char(20)
     */
    @XmlElement(name = "opId")
    private String opId;

    /**
     * 制单员姓名 varchar(20)
     */
    @XmlElement(name = "opName")
    private String opName;

    /**
     * 网银审核员char(20)
     */
    @XmlElement(name = "ckId")
    private String ckId;

    /**
     * 审核员姓名varchar(20)
     */
    @XmlElement(name = "ckName")
    private String ckName;

    /**
     * 账户余额 decimal(15,2)
     */
    @XmlElement(name = "balance")
    private BigDecimal balance;

    /**
     * 起息日期 char(8)
     */
    @XmlElement(name = "valueDate")
    private String valueDate;

    /**
     * 主机交易码 varchar(7)
     */
    @XmlElement(name = "hostTranCode")
    private String hostTranCode;

    /**
     * 退汇日期 char(8)，格式YYYYMMDD
     */
    @XmlElement(name = "e3rtDate")
    private String e3rtDate;

    /**
     * 退汇标志 char(1)，0：退汇；1：非退汇
     */
    @XmlElement(name = "e3rtFlag")
    private String e3rtFlag;
    /**
     * 付款原有金额decimal (15,2)，仅当查询账号为信银国际账号时返回
     */
    @XmlElement(name = "oriDebitAmt")
    private BigDecimal oriDebitAmt;

    /**
     * 付款原有币种char(2) ，仅当查询账号为信银国际账号时返回
     */
    @XmlElement(name = "oriDebitCry")
    private String oriDebitCry;

    /**
     * 收款原有金额decimal(15,2) ，仅当查询账号为信银国际账号时返回
     */
    @XmlElement(name = "oriCreditAmt")
    private BigDecimal oriCreditAmt;

    /**
     * 收款原有币种char(2) ，仅当查询账号为信银国际账号时返回
     */
    @XmlElement(name = "oriCreditCry")
    private String oriCreditCry;

    /**
     * 交易币种char(2) ，仅当查询账号为信银国际账号时返回
     */
    @XmlElement(name = "traCryType")
    private String traCryType;

    /**
     * 信银国际交易参考号varchar(35) ，仅当查询账号为信银国际账号时返回
     */
    @XmlElement(name = "tranRefNo")
    private String tranRefNo;

    /**
     * 客户流水号char(20)，当查询账号为信银国际账号时返回
     */
    @XmlElement(name = "clientId")
    private String clientId;

    /**
     * 对账编号char(20)，当客户上送controlFlag标签并且字段值为1或2时返回
     */
    @XmlElement(name = "chkNum")
    private String chkNum;

    /**
     * 关联交易日志号char(14)，当客户上送controlFlag标签并且字段值为1或2时返回
     */
    @XmlElement(name = "rlTranNo")
    private String rlTranNo;

    /**
     * 冲账对方交易日期char(8)，当客户上送controlFlag标签并且字段值为1或2时返回
     */
    @XmlElement(name = "rfTranDt")
    private String rfTranDt;

    /**
     * 冲账对方柜员交易号char(14)，当客户上送controlFlag标签并且字段值为1或2时返回
     */
    @XmlElement(name = "rfTranNo")
    private String rfTranNo;

    /**
     * 附属账户char(19)，当客户上送controlFlag标签并且字段值为1或2时返回
     */
    @XmlElement(name = "subAcccNo")
    private String subAcccNo;

    /**
     * 摘要内容varchar(20)，当客户上送controlFlag标签并且字段值为1或2时返回
     */
    @XmlElement(name = "hostTranDesc")
    private String hostTranDesc;

    /**
     * 原始流水号varchar(36)，当客户上送controlFlag标签并且字段值为2时返回
     */
    @XmlElement(name = "oriNum")
    private String oriNum;


}
